home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 008a / umbmem.zip / UMBHELP.ASM < prev    next >
Assembly Source File  |  1991-07-07  |  881b  |  56 lines

  1.     .model small, pascal
  2.  
  3.     .data?
  4. xmm_driver dd byte ptr 0
  5.  
  6.     .code
  7. ; int umb_init(void);
  8. UMB_INIT proc
  9.     mov ax, 4300h
  10.     int 2fh
  11.     cmp al, 80h
  12.     mov ax, -1
  13.     jne @f
  14.         mov ax, 4310h
  15.         int 2fh
  16.         mov word ptr [xmm_driver], bx
  17.         mov word ptr [xmm_driver+2], es
  18.         xor ax, ax
  19. @@:
  20.     ret
  21. UMB_INIT endp
  22.  
  23. ; int umb_allocate(int Size, unsigned * pHandle, unsigned * pSize);
  24. UMB_ALLOCATE proc uses si, iSize:word, pHandle:ptr word, pSize:ptr word
  25.     mov ah, 10h
  26.     xor bx, bx
  27.     mov dx, iSize
  28.     call xmm_driver
  29.     mov si, pSize
  30.     mov [si], dx
  31.     cmp ax, 1
  32.     jne @f
  33.         mov si, pHandle
  34.         mov [si], bx
  35.         xor bx, bx
  36. @@:
  37.     mov ax, bx
  38.     ret
  39. UMB_ALLOCATE endp
  40.  
  41. ; int umb_free(unsigned uHandle);
  42. UMB_FREE proc uHandle:word
  43.     mov ah, 11h
  44.     mov dx, uHandle
  45.     call xmm_driver
  46.     cmp ax, 1
  47.     jne @f
  48.         xor bx, bx
  49. @@:
  50.     mov al, bl
  51.     ret
  52. UMB_FREE endp
  53.     end
  54.  
  55.  
  56.